package cn.tedu.oa.sys.service;

import cn.tedu.oa.common.service.BaseService;
import cn.tedu.oa.common.vo.JsonResult;
import cn.tedu.oa.sys.entity.Department;
import cn.tedu.oa.sys.entity.User;

import java.util.List;

public interface UserService extends BaseService<User> {
    User getUserByUsername(String username);

    /**
     * 分页查询用户信息
     *
     * @param criteria 查询条件
     * @param pageNo   页码
     * @param pageSize 页码大小
     * @return 结果集合
     */
    List<User> getUserPagerList(String criteria, Integer pageNo, Integer pageSize);

    /**
     * 根据id查询用户信息
     * @param id id
     * @return 用户信息
     */
    User getUserById(Integer id);

    /**
     * 分页查询用户信息
     *
     * @param criteria 查询条件
     * @param pageNo   页码
     * @param pageSize 页码大小
     * @return 用户JsonResult对象
     */
    JsonResult getPagerJsonResult(String criteria, Integer pageNo, Integer pageSize);

    /**
     * 获取所有部门的id和名称
     * @return 部门集合
     */
    JsonResult getDeptIdAndName();
    /**
    *   为用户添加角色
    *
    * */
    void insertRoleByUser(Integer userId,Integer[] roleId,Integer isdel);

    /**
     *   通过id修改该用户密码
     *
     * */
    int updatePasswordById(Integer id,String password,String newPassword,String confirmPassword);
}
